Python小技巧:提取docx文件中表格

您所在的位置:网站首页 Python-docx 获取序号 Python小技巧:提取docx文件中表格

Python小技巧:提取docx文件中表格

2023-12-18 14:32| 来源: 网络整理| 查看: 265

''' 使用的包:python-docx 安装方式:conda install -c conda-forge python-docx 帮助文档:https://python-docx.readthedocs.io/en/latest/index.html# ''' import docx # import os from docx import Document # 1、路径出现的问题特别多,可以参考下方的程序检验路径 # 2、文件名称好像不能是中文 doc_file = '/Users/matthewfan/Documents/123.docx' document = Document(doc_file) tables = document.tables # 获取文档中的所有表格 table = tables[0] # 提取文档中的第一个表格,测试文档中仅有一个表格 lo = {} # 存储每一行去重后的数据 for row in range(0, len(table.rows)): row_list = [] for col in range(0,len(table.row_cells(row))): # 提取row行的全部列数据 row_list.append(table.cell(row,col).text.replace('\n','').replace(' ', '')) # 去除字符串中的特殊字符,并添加到临时列表中 lo[row] = (sorted(set(row_list), key = row_list.index)) # 在不变顺序的前提下,去除List中的重复项 # 打印出每行的数据观察相关格式特征 print(row, ":len(", len(lo[row]),'):',lo[row])

输出结果:

(1)可以通过数据的长度进行类型名与内容的区分

(2)可以通过配置文件进行类型的归类,提高docx文件变化而引起的开发量(暂不提供处理代码)

0 :len( 7 ): ['姓名', '***', '性别', '男', '出生日期(岁)', '1978.11(41岁)', ''] 1 :len( 6 ): ['民族', '汉族', '籍贯', '天津', '出生地', ''] 2 :len( 7 ): ['入党时间', '2000.06', '工作时间', '1990.07', '健康状况', '良好', ''] 3 :len( 4 ): ['职称', '高级工程师', '熟悉专业有何专长', ''] 4 :len( 5 ): ['学历学位', '全日制教育', '大学学士', '毕业院校及专业', '重庆大学电力系统及其自动化'] 5 :len( 4 ): ['学历学位', '在职教育', '', '毕业院校及专业'] 6 :len( 2 ): ['现任职务', '西太平洋机甲公司***部副主任'] 7 :len( 3 ): ['工作及学习简历', '1986.09-1990.07', '重庆大学电力系统及其自动化专业学习,获得大学学历,工学学'] 8 :len( 3 ): ['工作及学习简历', '', '士学位'] 9 :len( 3 ): ['工作及学习简历', '1990.07-1997.06', '西太平洋机甲公司*********技术员'] 10 :len( 3 ): ['工作及学习简历', '1997.06-2001.07', '西太平洋机甲公司*********班班长'] 11 :len( 3 ): ['工作及学习简历', '2001.07-2002.07', '西太平洋机甲公司*********副主任'] 12 :len( 3 ): ['工作及学习简历', '2002.07-2005.04', '西太平洋机甲公司***'] 13 :len( 3 ): ['工作及学习简历', '2005.04-2009.02', '西太平洋机甲公司***'] 14 :len( 3 ): ['工作及学习简历', '2009.02-2012.02', '西太平洋机甲公司***部***处长'] 15 :len( 3 ): ['工作及学习简历', '2012.02-2013.05', '西太平洋机甲公司***部***处长'] 16 :len( 3 ): ['工作及学习简历', '2013.05-2016.08', '西太平洋机甲公司*********处处长'] 17 :len( 3 ): ['工作及学习简历', '2016.08-2019.05', '西太平洋机甲公司*********处处长'] 18 :len( 3 ): ['工作及学习简历', '2019.05-', '西太平洋机甲公司***部副主任'] 19 :len( 2 ): ['工作及学习简历', ''] 20 :len( 2 ): ['工作及学习简历', ''] 21 :len( 2 ): ['工作及学习简历', ''] 22 :len( 2 ): ['工作及学习简历', ''] 23 :len( 2 ): ['工作及学习简历', ''] 24 :len( 2 ): ['工作及学习简历', ''] 25 :len( 2 ): ['工作及学习简历', ''] 26 :len( 2 ): ['工作及学习简历', ''] 27 :len( 2 ): ['工作及学习简历', ''] 28 :len( 2 ): ['工作及学习简历', ''] 29 :len( 2 ): ['工作及学习简历', ''] 30 :len( 2 ): ['工作及学习简历', ''] 31 :len( 2 ): ['工作及学习简历', ''] 32 :len( 2 ): ['工作及学习简历', ''] 33 :len( 6 ): ['家庭主要成员及重要社会关系', '称谓', '姓名', '年龄', '政治面貌', '工作单位及职务'] 34 :len( 6 ): ['家庭主要成员及重要社会关系', '妻子', '***', '49', '群众', '西太平洋机甲公司***'] 35 :len( 6 ): ['家庭主要成员及重要社会关系', '女儿', '***', '25', '群众', '无业'] 36 :len( 6 ): ['家庭主要成员及重要社会关系', '父亲', '***', '75', '群众', '银河系联席会***'] 37 :len( 6 ): ['家庭主要成员及重要社会关系', '母亲', '***', '75', '群众', '火星联邦议会***'] 38 :len( 2 ): ['家庭主要成员及重要社会关系', ''] 39 :len( 2 ): ['家庭主要成员及重要社会关系', '']

样例word文件格式:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3